iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 15
0
Software Development

從Java進入AWS部署RESTful API的心路歷程系列 第 15

Day15-環境準備(四)DynamoDB-Local

  • 分享至 

  • xImage
  •  

為了方便開發測試,先準備環境吧

下載 & 運行

您電腦上的 DynamoDB (可下載版本)
AWS提供三種方式取得DynamoDB-Local,這邊講的是直接下載已透過java運行的版本。

首先在上面AWS文件中提供的連結選一個喜歡的下載,並且解開所有檔案。
https://ithelp.ithome.com.tw/upload/images/20190926/20120911iUpJLtuT1I.png

文件中提供的啟動方式為

java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb

其中比較要注意到的是若沒有-sharedDb這個參數,使用不同的access key連線會建立使用不同的database,除非有意區別開來,加上這個參數會比較方便。

不過避免我不小心關掉terminal,我喜歡在背景process運行,所以我建立一個script file(dynamodb-start.sh)放在家目錄

java -Djava.library.path=./DynamoDBLocal_lib -jar dynamodb_local_latest/DynamoDBLocal.jar -sharedDb &

並且給予執行權限

chmod -x dynamodb-start.sh

這樣以後我只需要執行以下指令即可啟動

sudo ./dynamodb-start.sh

啟動後就會看到以下訊息

Initializing DynamoDB Local with the following configuration:
Port: 8000
InMemory: false
DbPath: null
SharedDb: true
shouldDelayTransientStatuses: false
CorsParams: *

web shell

啟動後你會看到DynamoDB-Local使用了Port 8000,使用瀏覽器可以直接進入shell介面

http://localhost:8000/shell/

你就會看到 DynamoDB JavaScript Shell
https://ithelp.ithome.com.tw/upload/images/20190926/20120911GyXQ8EjSfK.png

其中提供了一些documents的連結,我們可以試試個簡單的指令listTables

var params = {
 };
 dynamodb.listTables(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else     console.log(data);           // successful response
 });

按下執行圖示後,因為我們尚未建立任何table,所以應該會看到

{"TableNames":[]}

AWS CLI

AWS CLI可以直接下指令給雲端服務,也可以操作DynamoDB-Local,只要加上--endpoint-url參數即可。不過要注意的是,每次CLI都要給這個參數,無法省略。

$ aws dynamodb list-tables --endpoint-url http://localhost:8000
{
    "TableNames": []
}

那麼到這邊,我們已經準備好Dynamo-Local環境了


上一篇
Day14-概觀(五)DynamoDB基本
下一篇
Day16-概觀(六)操作DynamoDB
系列文
從Java進入AWS部署RESTful API的心路歷程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言